package com.smedi.ismedi.progress.core.domain.repository;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.smedi.ismedi.progress.core.application.command.ProjectBriefListQuery;
import com.smedi.ismedi.progress.core.application.command.ProjectBriefReportDetailQuery;
import com.smedi.ismedi.progress.core.application.command.ProjectBriefReportEditAllCommand;
import com.smedi.ismedi.progress.core.application.command.ProjectBriefReportEditCommand;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.Project;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProjectBriefReport;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProjectBriefReportDetail;
import com.smedi.ismedi.progress.core.domain.dto.ProjectBriefReportVo;
import com.smedi.ismedi.progress.core.domain.dto.ProjectQuery;

import java.util.List;

/**
 * @Author Cookie
 * @Date 2022/7/18
 */
public interface ProjectBriefReportRepository {

    /**
    * 查询项目简报列表
     * @param projectBriefListQuery
    * @return java.util.List<com.smedi.ismedi.progress.core.domain.aggregatemodel.ProjectBriefReport>
    * @date 2022/10/12 17:38
    */
    Page<ProjectBriefReport> getProjectBriefList(ProjectBriefListQuery projectBriefListQuery);

    ProjectBriefReportVo getProjectBriefReportDetail(ProjectBriefReportDetailQuery projectBriefReportDetailQuery);

    Boolean projectBriefReportEdit(ProjectBriefReportEditAllCommand projectBriefReportEditCommand);

    /**
    * 定时任务 项目简报生成
    * @param
    * @return java.lang.Boolean
    * @date 2022/10/13 19:50
    */
    Boolean projectBriefCreateTask();

    List<ProjectBriefReportVo> getProjectBriefReportDetailAll(ProjectBriefReportDetailQuery projectBriefReportDetailQuery);
}
